// 引入 utils.js
import './utils/utils'
// 引入 http.js
import './utils/http'

// app.js
App({
  globalData: {},
  // 小程序初始化时执行的生命周期函数
  // 小程序初始化过程中，为了防止刷新之后，全局数据丢失，我们需要从本地读取一份数据放到全局数据
  onLaunch() {
    // 获取本地的 token，将它存到全局数据
    this.getToken('token')
    // 获取本地的 refreshToken，将它存到全局数据
    this.getToken('refreshToken')
  },
  abc: 'abc',
  // 获取本地存储中的 token，并将 token 存入全局数据
  getToken(key) {
    // 异步获取本地存储中的数据
    wx.getStorage({
      key,
      success: (res) => {
        console.log(res.data);
        // 将从本地获取的 token 存入全局数据
        this[key] = res.data
        // app.js 中的 this 就是小程序应用实例。它跟 getApp() 得到的小程序应用实例是一样的。
        // console.log(this);
      }
    })
    // 同步获取本地存储中的数据
    // const token = wx.getStorageSync('token')
  },
  // 存储 token
  setToken(token, refreshToken) {
    // 存储 token
    // 1. 将 token 存储到本地
    wx.setStorageSync('token', 'Bearer ' + token)
    // 2. 将 token 存储到全局数据
    this.token = 'Bearer ' + token
    // 存储 refreshToken
    // 1. 将 token 存储到本地
    wx.setStorageSync('refreshToken', 'Bearer ' + refreshToken)
    // 2. 将 token 存储到全局数据
    this.refreshToken = 'Bearer ' + refreshToken
  }
})
